The present invention relates to a sequence controller, and particularly to a sequence controller which is capable of debugging programs.
In conventional sequence controllers, the program debugging functions include:
(1) a function of holding the input/output status of the sequence controller inputs and outputs when the operation thereof is stopped; PA1 (2) a function of stopping the operation after one step (command) is executed; and PA1 (3) a function of stopping the operation after one scan is executed, as disclosed in Japanese Patent Laid-Open No. 40605/1986, Japanese Patent Laid-Open No. 57403/1985 and Japanese Patent Laid-Open No. 217402/1985.
According to Japanese Patent Laid-Open No. 40605/1986, which deals with an ordinary sequence controller, when the controller is shifted from the operation state to the stop state, all of the outputs that are to be turned off are maintained under the status which exists just before the operation is stopped. Therefore, the status of inputs and outputs which exists when the sequence controller is stopped can be determined even after the operation of the sequence controller has been stopped, making it possible to resume the operation starting from the status existing just before the operation is not stopped. With this function, however, it is allowed to stop the sequence controller at a particular portion of the sequence program, nor to determine the status of inputs and outputs at that moment.
According to the function disclosed in Japanese Patent Laid-Open No. 57403/1985, the sequence controller is stopped after every step of the sequence program. This function may make it possible to determine the step of command execution minutely from any program step. Generally, however, the user of the sequence controller may examine the control operation of a sequential circuit but may not give consideration to the order in which the contents of the sequence controller are executed or to the individual steps of the program being executed by the sequential circuit. In this sense, therefore, this prior art is cumbersome to use since the user is compelled to understand the contents of the sequence controller before using it.
According to Japanese Patent Laid-Open No. 217402/1985, the sequence controller is stopped at the end of one scanning which represents a break in the processing of the command "Execute again from the head when the execution of contents of all program memories is finished", which is a so-called cyclic scanning process that is a feature of the operation of the sequence controller in contrast with Japanese Patent Laid-Open No. 57403/1985. By examining the statuses of objects to be controlled, it is possible to recognize the status for executing a program and to carry out the debugging operation. Unlike Japanese Patent Laid-Open No. 57403/1985, furthermore, no particular knowledge is required for the sequence controller. In case the same object to be controlled undergoes a change two or more times in one scanning, however, it becomes difficult to determine the status so that it is not possible to carry out a complete debugging operation.
Moreover, the aforementioned three prior examples can cope only with the setting of a simple stop condition, but are not sufficient for recognizing the status of inputs and outputs after complex conditions which are inherent in the program debugging operation.
Problems in the aforementioned prior art are that the status of a control operation performed by the sequence controller is not recognized with a sufficient precision and that the method for designating the debugging functions that are to be is complex.